import { isString } from './type';

export const jsonStringify = function (
    value: unknown,
    replacer?: undefined | (number | string)[] | null
) {
    try {
        return JSON.stringify(value, replacer) || '';
    } catch (error) {
        console.error('Error stringify JSON:', error);
        return '';
    }
};

export const jsonParse = function (value: string, defaultValue?: Record<string, unknown> | any[]) {
    if (!isString(value)) {
        return defaultValue;
    }
    if (isString(value) && !value) {
        return defaultValue;
    }
    try {
        return JSON.parse(value);
    } catch (error) {
        console.error('Error parsing JSON:', error);
        return defaultValue;
    }
};
